-
Notifications
You must be signed in to change notification settings - Fork 28
feat: SplitLogManager for treewide logging control
#964
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
11f2b35 to
988c40b
Compare
c-dilks
commented
Dec 4, 2025
59fca7b to
f3b34fd
Compare
Member
Author
|
@baltzell @raffaelladevita at long last this is ready. I confirm it also works well with However, |
baltzell
approved these changes
Dec 18, 2025
``` SplitLoggerConfig -> SplitLogManagerConfig TestSplitLogger -> TestLogManager ```
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
Changes:
SplitLoggerintoSplitLogManagerSplitLogger.createis replaced bySplitLogManagermethods that overrideLogManager, such thatLogger.getLoggerand similar commands instantiate a logger that has the same properties as the oldSplitLoggerThis is a much cleaner approach for controlling our logger; now all we need to do is:
SplitLogManager, via ajavaCLI option:bin/scripts now use this option (via$JAVA_OPTS, see below)Loggerlike normal:Logger.getLogger, which will use the manager set by thejava.util.logging.managerproperty:Log Levels
coatjavaitself; see the 'Developer Notes', linked from the mainREADME.mdrun-clarawith new option-LINFO(-Linfo)-Loffto silence (mostly) everything, or-Lallfor very verbose-qfor quiet output is (mostly) unchangedAbout
$JAVA_OPTSThe environment variable
$JAVA_OPTSis not used by thejavacommand; rather it is a convention for things which wrapjava. I added a default$JAVA_OPTSsetting inlibexec/env.shthat:$JAVA_OPTS, if they have anyjava-callingbin/*scripts now use$JAVA_OPTS, but as the lowest priority in the CLI option orderingTherefore, for all
java-callingbin/*scripts, we have the following priority order ofjavaoptions (from lowest priority to highest, i.e., left-to-right):$JAVA_TOOL_OPTIONSand_JAVA_OPTIONS: JVM options; we don't appear to use them here, but they are used byjavaat the lowest priority$JAVA_OPTS: includes the log manager choice (set inenv.sh), followed by user's$JAVA_OPTS, if anybin/*script, such as-Xmsand-Xmx--(seeenv.sh's functionsplit_cli); these will take the highest priority, since they are meant to be overrides